Self learning computer science

It would be helpful if an experienced programmer went over the following links answered the following question for a person who want to be a self-taught computer science student.
1)How do they compare?
2)Which ones are useful?
3)Which one is the best?
4)Do i need to study more than one?




https://teachyourselfcs.com/

Hey there, I recently completed my undergraduate degree in CS and I will soon start working full time as a new grad developer. I don’t think it is possible to answer which is the best among these resources because they offer different things that may work better for some people than others, nonetheless here is my breakdown.

ForrestKnight’s list of online courses is great for guided learning and it contains a complete list of fundamentals you would be excepted to learn (except it is missing a networks course) at university.

The P1xt guide is aimed more towards training an individual to learn to become a full stack developer and be “job ready”. In my opinion the order of their tiers is misconstrued, learning about control flow, statements, and simple algorithms first is more beneficial than learning to make web pages and animations.

The curriculum provided by the Atomic Spin course is a good complement to the first resource by ForrestKnight. It has some topics not covered by the first list but most are overlapping and you should only study one. It is also important to realize that computer science is a very large field and you do not need to study every topic; for example, I never took cryptography, artificial intelligence, and many more. So don’t feel the need to delve into every single link or course that would be tiresome at some point.

The Tech Dev Guide appears to be a great resource for practice after you learn the fundamentals it is full of sample questions and problems that will help you refine and improve your skills. It is a great place for people with at least some basic knowledge of programming. Also checkout leetcode for practice problems.

My analysis for OSSU is the same as that for Atomic Spin and ForrestKnight, except the have many more courses for advanced topics. I encourage you to explore and learn about topics that interest you but again do not feel obligated to complete them all.

My final piece of advice is that the early math courses/prerequisites can be overlooked if you wish to save some time. Strictly for software engineering such as web or mobile development you do not need to know linear algebra or multivariable calculus. If you become interested in topics like machine learning or NLP you can always come back to the math courses later on.

Best of Luck!